package com.ydcycloud.sms.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.io.*;

public class HttpSendUtil {
//	private static String userid = "1320";
	private static String userid = "351";
	private static String account = "guanzonghy";
	private static String password = "123456";
//	private static String strUrl = "http://120.25.78.129:8888/sms.aspx";
	private static String strUrl = "http://119.23.249.213:8888/sms.aspx";

	public static void main(String[] args) throws UnsupportedEncodingException {
		String content = "【安联培训】尊敬的用户，你验证码是：893734，有效时间为10分钟";
		String phone = "13035846175";
		send(phone, content);
	}

	/**
	 * 
	 * 发送短信
	 * 
	 * @Description: TODO
	 * @param @param phone 电话号码
	 * @param @param content 内容
	 * @return void
	 * @throws
	 * @author yzw
	 * @date 2017年6月11日
	 */
	public static void send(String phone, String content) {
		
		
		try {
			content = URLEncoder.encode(content, "UTF-8"); // 编码
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		String param = "action=send&userid=" + userid + "&account=" + account
				+ "&password=" + password + "&mobile=" + phone + "&content="
				+ content + "&sendTime=&extno=";
		String str = getResponse(strUrl, param);
		System.out.println(str);
	}

	public static String getSend(String strUrl, String param) {
		URL url = null;
		HttpURLConnection connection = null;

		try {
			url = new URL(strUrl + "?" + param);
			connection = (HttpURLConnection) url.openConnection();
			connection.setDoOutput(true);
			connection.setDoInput(true);
			connection.setRequestMethod("GET");
			connection.setUseCaches(false);
			connection.connect();

			BufferedReader reader = new BufferedReader(new InputStreamReader(
					connection.getInputStream(), "utf-8"));
			StringBuffer buffer = new StringBuffer();
			String line = "";
			while ((line = reader.readLine()) != null) {
				buffer.append(line);
			}

			reader.close();
			return buffer.toString();
		} catch (IOException e) {
			e.printStackTrace();
			return null;
		} finally {
			if (connection != null) {
				connection.disconnect();
			}
		}
	}

	/**
	 * 获取请求数据
	 * 
	 * @param uriStr
	 *            请求路径
	 * @param param
	 *            请求参数
	 * @return
	 * */
	private static String getResponse(String uriStr, String param) {
		PrintWriter out = null;
		BufferedReader in = null;
		String result = "";
		try {
			URL realUrl = new URL(uriStr);
			// 打开和URL之间的连接
			URLConnection conn = realUrl.openConnection();
			// 设置通用的请求属性
			conn.setConnectTimeout(50000);
			conn.setRequestProperty("Accept-Charset", "UTF-8");
			conn.setRequestProperty("connection", "Keep-Alive");
			conn.setRequestProperty("user-agent",
					"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
			// 发送POST请求必须设置如下两行
			conn.setDoOutput(true);
			conn.setDoInput(true);
			// 获取URLConnection对象对应的输出流
			out = new PrintWriter(conn.getOutputStream());
			// 发送请求参数
			out.print(param);
			// flush输出流的缓冲
			out.flush();
			// 定义BufferedReader输入流来读取URL的响应
			in = new BufferedReader(new InputStreamReader(
					conn.getInputStream(), "UTF-8"));
			String line;
			while ((line = in.readLine()) != null) {
				result += line;
			}
		} catch (Exception e) {
			System.out.println("发送 POST 请求出现异常！" + e);
			e.printStackTrace();
		}
		// 使用finally块来关闭输出流、输入流
		finally {
			try {
				if (out != null) {
					out.close();
				}
				if (in != null) {
					in.close();
				}
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
		return result;
	}

}
